package com.firestone.service.center;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.firestone.bean.dto.role.RoleDTO;
import com.firestone.bean.entity.mysql.primary.ImCenterRole;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author CAIYJ
 * @since 2018-03-27
 */
public interface IImCenterRoleService extends IService<ImCenterRole> {

    /**
     * @Description: TODO(角色列表)
     * @param page
     * @param name
     * @return
     * @throws Exception
     * @author CAIYJ
     * @date 2018年3月30日 下午5:23:58
     * @lastModifier CAIYJ
     */
    Page<RoleDTO> listRole(Page<RoleDTO> page, String name) throws Exception;

    /**
     * @Description: TODO(新增角色)
     * @return
     * @throws Exception
     * @author CAIYJ
     * @date 2018年4月13日 下午3:45:26
     * @lastModifier CAIYJ
     */
    boolean saveRole(ImCenterRole role, Long[] menuIds) throws Exception;

    /**
     * @Description: TODO(更新角色)
     * @param role
     * @param menuIds
     * @return
     * @throws Exception
     * @author CAIYJ
     * @date 2018年4月13日 下午4:04:07
     * @lastModifier CAIYJ
     */
    boolean updateRole(ImCenterRole role, Long[] menuIds) throws Exception;

    /**
     * @Description: TODO(删除角色)
     * @param roleId
     * @return
     * @throws Exception
     * @author CAIYJ
     * @date 2018年4月13日 下午4:37:31
     * @lastModifier CAIYJ
     */
    boolean removeRole(Long roleId) throws Exception;
}
